package com.leetcode.sorts.tree;

/**
 * @Author: WuPeng
 * @Date: 2021/6/8 11:25 上午
 * 404.左叶子之和
 * 计算给定二叉树的所有左叶子之和。
 *
 * 示例：
 *     3
 *    / \
 *   9  20
 *     /  \
 *    15   7
 *
 * 在这个二叉树中，有两个左叶子，分别是 9 和 15，所以返回 24
 *
 */
public class LeftNodeSum_404 {

    public int sumOfLeftLeaves(TreeNode root) {
        if (root == null) return 0;

        int left_sum = sumOfLeftLeaves(root.left);
        int right_sum = sumOfLeftLeaves(root.right);

        int value = 0;
        if (root.left != null && root.left.left == null && root.left.right == null){
            value = root.left.val;
        }
        return left_sum + right_sum + value;
    }

}
